<?php
class AdModel extends Model
{
	function __construct()
	{
		$this->loadTable('ads');
	}
	
	public function handleAdd()
	{
		$errorFlag = FALSE;
		$errorMessage = array();
		$result = array();
		
		if(strlen($_POST['name']) == 0 || strlen($_POST['name']) > 30)
		{
			$errorFlag = TRUE;
			$errorMessage[] = "Tên quảng cáo không được để trống hoặc nhiều hơn 30 ký tự";
		}
		
		if(strlen($_POST['image']) == 0 || strlen($_POST['image']) > 1024)
		{
			$errorFlag = TRUE;
			$errorMessage[] = "Đường dẫn ảnh quảng cáo không được để trống hoặc nhiều hơn 1024 ký tự";
		}

        if ($_POST['partner_id'] == '0')
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Hãy chọn đối tác !";
        }
		
		if($errorFlag)
		{
			$result['has_error'] = TRUE;
			$result['errors'] =& $errorMessage;
			$result['input'] = &$_POST;
			return $result;
		}
		//echo "yes";exit();
		$table =& $this->tables['ads'];
		$table->set('name',htmlentities($_POST['name'], ENT_QUOTES, "UTF-8"));
		$table->set('description',htmlentities($_POST['description'], ENT_QUOTES, "UTF-8"));
        $table->set('partner_id',$_POST['partner_id']);
		$table->set('image',htmlentities($_POST['image'], ENT_QUOTES, "UTF-8"));
		$table->set('link',htmlentities($_POST['link'], ENT_QUOTES, "UTF-8"));
		$table->insert();
		$result['message'] = "Thêm thành công";
		return $result;
		
	}
	
	public function getAdsList()
	{
        $sql = "select a.id,a.name,a.a_order,p.name as partner_name from ads a,partner p where a.partner_id = p.id";
        $db = DataProvider::getInstance();
        return $db->_query($sql);
//		return $this->tables['ads']->get(NULL,array('order' => array('a_order' => 'ASC')));
	}
    
    public function handleUpdateOrder()
    {
        //print_r($_POST);exit();
        foreach($_POST['id'] as $id)
        {
            $this->tables['ads']->update(array('id' => $id),array('a_order' => $_POST['order'.$id]));
        }        
    }
    
    public function getAd($id)
    {
        return $this->tables['ads']->get(array('id' => $id));


    }
    
    public function handleEdit($id)
    {
        $errorFlag = FALSE;
		$errorMessage = array();
		$result = array();
		
		if(strlen($_POST['name']) == 0 || strlen($_POST['name']) > 30)
		{
			$errorFlag = TRUE;
			$errorMessage[] = "Tên quảng cáo không được để trống hoặc nhiều hơn 30 ký tự";
		}
		
		if(strlen($_POST['image']) == 0 || strlen($_POST['image']) > 1024)
		{
			$errorFlag = TRUE;
			$errorMessage[] = "Đường dẫn ảnh quảng cáo không được để trống hoặc nhiều hơn 1024 ký tự";
		}

        if ($_POST['partner_id'] == '0')
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Hãy chọn đối tác !";
        }
        
		if($errorFlag)
		{
			$result['has_error'] = TRUE;
			$result['errors'] =& $errorMessage;
			$result['input'] = &$_POST;
			return $result;
		}
		//echo "yes";exit();
		$table =& $this->tables['ads'];
		$table->set('name',htmlentities($_POST['name'], ENT_QUOTES, "UTF-8"));
		$table->set('description',htmlentities($_POST['description'], ENT_QUOTES, "UTF-8"));
        $table->set('partner_id', $_POST['partner_id']);
		$table->set('image',htmlentities($_POST['image'], ENT_QUOTES, "UTF-8"));
		$table->set('link',htmlentities($_POST['link'], ENT_QUOTES, "UTF-8"));
		$table->update(array('id' => $id));
		$result['message'] = "Sửa thành công";
		return $result;
    }
    
    public function handleRemove($id)
    {
        $this->tables['ads']->remove(array('id' => $id));
    }

    public function handleMassAction()
    {
        switch($_POST['mass_action'])
        {
            case 'update_order':
                {
                    $this->handleUpdateOrder();
                    break;
                }

            case 'remove':
                {
                    foreach($_POST['cb'] as $cb)
                    {
                        $this->handleRemove($cb);
                        break;
                    }
                }
        }
    }
}
?>